package com.gopay.remote.console;

import com.gopay.common.domain.user.OperatorLoginView;
import com.gopay.common.exception.GopayException;

import java.util.Map;


public interface OperatorRemoteService{

    /**
     * 登录验证并获取该操作员的信息
     * @param operId
     * @param pwd
     */
    public OperatorLoginView login(String operId,String pwd, String clientIp);
    
    
    /**
     * 根据权限资源ID，检查该用户是否存在该资源
     * @param operId
     * @param resourceId
     * @return
     * @throws GopayException
     */
    boolean hasResource(String operId,String resourceId) throws GopayException;
    
    /**
     * 校验对应operId的密码
     * @param operId
     * @param pwd
     * @return
     */
    boolean checkOperatorPwd(String operId, String pwd);
    
    /**
     * 获取操作员信息
     * @param operId
     * @return
     */
    OperatorLoginView checkAndGetOperInfo(String operId);
    
    /**
     * 
     * 校验用户信息的正确性，根据返回错误信息判断是否发送短信验证码
     * @param operId
     * @param password
     * @param phoneNo
     * @return 
     */
    Map<String,String> checkNeedSendSms(String operId, String password, String phoneNo);


    /**
     * 获取操作员有关U盾序列号
     * @param operId
     * @return
     */
    String getSerialByOper(String operId);
    
}
